package com.punch.course.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.punch.common.dto.course.CourseTeachingDTO;
import com.punch.common.vo.course.CourseTeachingVO;
import com.punch.common.vo.course.report.OrganReportVO;
import com.punch.course.model.CourseTeaching;

import java.util.List;

/**
 * CourseService-课程授课 服务类
 *
 * @author xiaol
 * @version 1.0.0
 * @since 2020/7/14 10:51
 */
@Deprecated
public interface CourseTeachingService extends IService<CourseTeaching> {

    /**
     * 保存授课申请
     *
     * @param courseTeachingDTO 授课申请
     * @return id
     */
    Long saveCourseTeaching(CourseTeachingDTO courseTeachingDTO);

    /**
     * 申请授课列表
     *
     * @param courseId 课程id
     * @return list
     */
    List<CourseTeachingVO> listCourseTeaching(Long courseId);

    /**
     * 学校同意授课
     *
     * @param courseId 课程id
     */
    void agreeCourseTeaching(Long courseId);

    /**
     * 学校移除课程库id
     *
     * @param libraryId 课程库id
     */
    void removeCourseLibrary(Long libraryId);

    /**
     * 取消授课申请
     *
     * @param courseId   课程id
     * @param teachingId 授课申请id
     */
    void deleteCourseTeaching(Long courseId, Long teachingId);

    /**
     * 获取通过申请的机构信息集合
     *
     * @param schoolId
     * @return
     */
    List<OrganReportVO> getOrganList(Long schoolId);
}
